package com.share.pattern.observer.v3;

import java.util.ArrayList;
import java.util.List;

/**
 * 
 * @author Johnny Tam
 * 
 *         v0.3版本 观察者模式
 * 
 *         抽象具体通知者
 */

public class Boss implements Subject {

	// 同事列表
	private List<Observer> observers = new ArrayList<Observer>();
	private String action;

	// 增加
	public void Attach(Observer observer) {
		observers.add(observer);
	}

	// 移除减少
	public void Detach(Observer observer) {
		observers.remove(observer);
	}

	// 通知给同事们
	public void Notify() {
		for (Observer o : observers) {
			o.Update();
		}
	}

	// 老板状态，活动
	public String getAction() {
		//System.out.println("getAction: " + action);
		return action;
	}

	public void setAction(String action) {
		//System.out.println("setAction: " + action);
		this.action = action;
		//System.out.println("setAction11: " + action);
	}	
}


//public class Boss extends Subject {
//	
//	private List<Observer> observers = new ArrayList<Observer>();
//	private String action;
//	
//	public String getAction() {
//		return action;
//	}
//	public void setAction(String action) {
//		this.action = action;
//	}
//
//	@Override
//	public void Attach(Observer observer) {
//		// TODO Auto-generated method stub
//		observers.add(observer);
//
//	}
//
//	@Override
//	public void Detach(Observer observer) {
//		// TODO Auto-generated method stub
//		observers.remove(observer);
//
//	}
//
//	@Override
//	public void Notify() {
//		// TODO Auto-generated method stub
//		for (Observer o : observers) {
//			o.Update();
//		}
//
//	}
//
//}
